package mybox.engine;

public class PlatteOOExt implements Figur{
	
	public QVector[] ecke = new QVector[4];
	public QVector aktPos;
	File4Qcad file4qcad;
	public double laserBreite;
	public double materialDicke;
	public double zinkungsFaktor;
	
	public double laenge;
	public double breite;
	public double extension;
	
	public RandLinieOO[] randlinie = new RandLinieOO[7];
	
	public QVector center;
	
	public PlatteOOExt(
			File4Qcad file4qcad, 
			QVector aktPos,
			String[] type,
			double laenge,
			double breite,
			double extension,
			double materialDicke,
			double zinkungsFaktor,
			double laserBreite			
			) {
		
		this.file4qcad=file4qcad;
		this.aktPos=new QVector(aktPos);
		this.laserBreite=laserBreite;
		this.materialDicke=materialDicke;
		this.zinkungsFaktor=zinkungsFaktor;
		
		this.laenge=laenge;
		this.breite=breite;
		this.extension=extension;
		init();
	}
	
	public void init() {
	
	boolean isGlatt=false;
	boolean isRand=true;
	boolean isFemale=true;
	boolean hasRandVerkuerzt=false;	
	double phi=0;//java.lang.Math.PI;	
	randlinie[0] = new RandLinieOO(file4qcad,aktPos, phi, laenge, materialDicke,zinkungsFaktor, laserBreite,isGlatt,isRand,isFemale,hasRandVerkuerzt);
	ecke[0]=new QVector(aktPos);
	
	isGlatt=false;isRand=false;isFemale=true;hasRandVerkuerzt=false;
	phi=java.lang.Math.PI/2;
	aktPos=randlinie[0].endPos;
	randlinie[1] = new RandLinieOO(file4qcad,aktPos, phi, breite, materialDicke,zinkungsFaktor,laserBreite,isGlatt,isRand,isFemale,hasRandVerkuerzt);
	
	isGlatt=false;isRand=true;isFemale=true;hasRandVerkuerzt=false;
	phi+=java.lang.Math.PI/2;
	aktPos=randlinie[1].endPos;
	randlinie[2] = new RandLinieOO(file4qcad,aktPos, phi, laenge, materialDicke,zinkungsFaktor,laserBreite,isGlatt,isRand,isFemale,hasRandVerkuerzt);
	
	isGlatt=false;isRand=true;isFemale=true;hasRandVerkuerzt=false;
	phi+=java.lang.Math.PI/2;
	aktPos=randlinie[2].endPos;
	ecke[3]=new QVector(aktPos);
	randlinie[3] = new RandLinieOO(file4qcad,aktPos, phi, breite, materialDicke,zinkungsFaktor,laserBreite,isGlatt,isRand,isFemale,hasRandVerkuerzt);
	
	//Extension
	isGlatt=true;isRand=true;isFemale=true;hasRandVerkuerzt=false;
	phi=0;//java.lang.Math.PI/2;
	aktPos=randlinie[0].endPos;
	randlinie[4] = new RandLinieOO(file4qcad,aktPos, phi, extension, materialDicke,zinkungsFaktor,laserBreite,isGlatt,isRand,isFemale,hasRandVerkuerzt);
	
	isGlatt=true;isRand=true;isFemale=true;hasRandVerkuerzt=false;
	phi+=java.lang.Math.PI/2;
	aktPos=randlinie[4].endPos;
	ecke[1]=new QVector(aktPos);
	randlinie[5] = new RandLinieOO(file4qcad,aktPos, phi, breite, materialDicke,zinkungsFaktor,laserBreite,isGlatt,isRand,isFemale,hasRandVerkuerzt);
	
	isGlatt=true;isRand=true;isFemale=true;hasRandVerkuerzt=false;
	phi+=java.lang.Math.PI/2;
	aktPos=randlinie[5].endPos;
	ecke[2]=new QVector(aktPos);
	randlinie[6] = new RandLinieOO(file4qcad,aktPos, phi, extension, materialDicke,zinkungsFaktor,laserBreite,isGlatt,isRand,isFemale,hasRandVerkuerzt);
	
	center = new QVector((ecke[0].x+randlinie[0].endPos.x)/2,(ecke[0].y+randlinie[3].anfangPos.y)/2);
					
	}

     
	public void draw() {
		
		for (int randIdx=0;randIdx<randlinie.length;randIdx++) {
			 if (randlinie[randIdx] != null) randlinie[randIdx].draw();
		}	
		
	}
	
    public static void drawJamaica(File4Qcad file4qcad, QVector untenLinks, QVector rechtsOben, double staerke) {	
						
		double laenge=rechtsOben.x-untenLinks.x; 
		double breite=rechtsOben.y-untenLinks.y;						
		
		Rectangle rectangle = new Rectangle(file4qcad, untenLinks, laenge, breite);		
	    rectangle.drawJamaica(staerke);
	}
	

}
